/**************** 重写 HTML 样式 *****************/
html, body {
    height: 100%;
}
body {
    padding: 0;
    margin: 0;
}
a {
    text-decoration: none;
}
h1 {
    padding: 10px 20px;
    border: none;
}

/**************** 重写 Element 样式 *****************/
.box-card .el-form-item {
    margin-bottom: 0
}
.el-divider {
    background: #eaeefb;
    /*height: 0;*/
}
.el-input-number .el-input__inner {
    text-align: left;
}
.el-textarea__inner {
    font-family: Arial;
}
.el-tabs__nav-wrap::after {
    height: 1px;
}
.el-select-dropdown .el-select-dropdown__item {
    height: auto;
    min-height: 34px;
}
.el-submenu .el-menu-item {
    min-width: 100px;
}
/*.el-upload.el-upload--text {*/
/*    display: block;*/
/*}*/
/*.el-upload-list__item .el-upload-list__item-name {*/
/*    line-height: 50px;*/
/*}*/
/*.el-upload-list__item .el-icon-close {*/
/*    line-height: 50px;*/
/*    top: 0;*/
/*    right: 10px;*/
/*}*/

/**************** 自定义样式 *****************/
#app {
    position: relative;
    min-height:100%;
    height: auto !important;
}

[v-cloak] {
    display: none;
}

.bg-gray {
    background-color: #f4f4f4;
}
.bg-white {
    background-color: #fff;
}
.no-padding {
    padding: 0 !important;
}
.no-margin {
    margin: 0 !important;
}
.link-black {
    font-weight: 700;
    color: #303133;
}
.link-black:hover {
    color: #409EFF;
}
.font-red {
    color: #F56C6C;
}
.font-white {
    color: #fff;
}
.font-black {
    color: #303133;
}
.padding-20 {
    padding: 20px;
}
.margin-20 {
    margin: 20px;
}
.empty {
    text-align: center;
    line-height: 80px;
    color: #606266;
    background-color: #fff;
}

.page-header {
    height: 80px;
    background-color: #fff;
    width: 100%;
    border-bottom: 1px solid #ddd;
}
.page-header .page-header_inner {
    width: 1200px;
    height: 100%;
    margin: 0 auto;
}
.page-header .page-header_logo {
    width: 180px;
    position: relative;
    top: 16px;
}
.page-header .page-header_menu {
    float: right;
    font-size: 16px;
    line-height: 80px;
}

.page-header .page-header_menu a {
    padding: 0 20px ;
}
.page-header .page-header_menu .el-popover__reference {
    display: inline-block;
}
.page-header .page-header_menu .el-badge sup {
    top: 30px;
    right: 0;
}
.page-header .page-header_menu .page-header_avatar {
    position: relative;
    top: 10px;
}

.page-body {
    padding-bottom: 150px;
}
.panel {
    width: 1200px;
    margin: 20px auto;
    clear: both;
}
.panel .panel-title {
    margin-top: 10px;
    padding-left: 10px;
    font-size: 22px;
    line-height: 60px;
    font-weight: 900
}
.panel .panel-title::before {
    display: inline-block;
    content: ' ';
    width: 4px;
    height: 12px;
    margin-right: 8px;
    background: #303133;
    border-radius: 2px;
}
.panel .panel-body {
    padding: 20px;
}

.page-footer {
    background-color: #606266;
    width: 100%;
    position: absolute;
    bottom: 0;
    clear:both;
}
.page-footer .page-footer_inner {
    width: 1200px;
    margin: 0 auto;
    padding: 45px 0;
    line-height: 30px;
    font-size: 14px;
    color: #C0C4CC;
}




/**************** 首页样式 *****************/
.course-block {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    background-color: #fff;
}
.course-block_item {
    width: 285px;
    border: 1px solid #E4E7ED;
    margin: 0 20px 20px 0;
    box-sizing: border-box;
}
.course-block_item:nth-child(4n+0) {
    margin-right: 0;
}
.course-block_item:hover {
    cursor: pointer;
    box-shadow: 3px 3px 10px 2px #E4E7ED;
}
.course-block_item .course-title {
    padding: 5px 10px;
    font-weight: 700;
    font-size: 16px;
    color: #303133;
    line-height: 30px;
    word-break: keep-all;
    overflow: hidden;
    text-overflow: ellipsis;
}
.course-block_item .course-info {
    padding: 5px 10px 15px 10px;
    color: #606266;
}


/**************** 课程详情页样式 *****************/
.course-detail {
    display: flex;
}
.course-detail .course-detail_poster {
    width: 500px;
}
.course-detail .course-detail_info {
    width: 700px;
    background-color: #EBEEF5;
    padding: 20px 30px;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}
.course-detail .course-detail_info .course-title {
    font-size: 28px;
    font-weight: bold;
    color: #303133;
    line-height: 40px;

    word-break: keep-all;
    overflow: hidden;
    text-overflow: ellipsis;
}
.course-detail .course-detail_info .course-desc {
    padding: 20px 0;
    font-size: 16px;
    color: #909399;
    line-height: 40px;
}
.course-detail-tabs {
    margin-top: 30px;
}
.course-detail-tabs .el-tabs__item {
    font-size: 16px;
    font-weight: bold;
}
.course-detail-tabs .course-detail_lesson {
    line-height: 40px;
    font-size: 16px;
    background: #f4f4f5;
    margin-bottom: 5px;
    padding: 0 20px;
}

/**************** 课程学习页样式 *****************/
.video-header {
    height: 60px;
    font-size: 18px;
    background-color: #1d1d1d;
    color: #999;
    line-height: 60px;
    padding: 0 20px;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.video-header .header-title {
    font-size: 24px;
    font-weight: bold;
}
.video-box {
    position: absolute;
    top: 60px;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
}
.video-box.show-sidebar {
    right: 350px;
}
.video-box video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background-color: #000;
}
.sidebar {
    position: absolute;
    top: 60px;
    right: 0;
    bottom: 0;
    width: 350px;
    background-color: #222;
    display: none;
}
.sidebar.show {
    display: block;
}
.sidebar-body {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 40px;
    padding: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
}
.sidebar-body .sidebar-title {
    color: #EBEEF5;
    line-height: 40px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
}
.lesson-list .lesson-list_item {
    display: block;
    font-size: 14px;
    line-height: 22px;
    padding: 4px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #C0C4CC;
    cursor: pointer;
}
.lesson-list .lesson-list_item.active {
    color: #409EFF;
}

/**************** 个人中心页样式 *****************/
.sub-menu .button-group {
    padding: 10px 0;
    display: flex;
    flex-direction: row;
    clear: both;
    justify-content: space-around;
    flex-wrap: wrap;
}
.sub-menu .button-group a {
    padding: 6px 20px;
    background-color: #EBEEF5;
    margin: 2px 0;
}

/**************** 我的课程页样式 *****************/
.dashboard {
    display: flex;
    justify-content: space-between;
    padding: 30px 0  !important;
    background: #fff;
}
.dashboard-cell {
    width: 400px;
    box-sizing: border-box;
}
.dashboard-cell+.dashboard-cell {
    border-left: 1px solid #E4E7ED;
}
.dashboard-label {
    font-size: 14px;
    color: #909399;
    text-align: center;
}
.dashboard-value {
    font-size: 28px;
    font-weight: 900;
    text-align: center;
}
.user-nickname {
    line-height: 24px;
    font-size: 20px;
    font-weight: bolder;
}
.user-mobile {
    font-size: 14px;
    color: #606266;
}

.course-list-item {
    display: flex;
    flex-direction: row;
    background-color: #fff;
}
.course-list-item + .course-list-item {
    margin-top: 10px;
}
.mm_pagination {
    margin: 20px auto;
    display: flex;
    justify-content: center;
}
.course-item_poster {
    width: 234px;
    height: 120px;
    margin-right: 20px;
}
.course-item_poster .poster-placeholder {
    font-size: 30px;
    background-color: #C0C4CC;
    color: #F2F6FC;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 234px;
    height: 120px;
}
.course-item_text {
    width: 900px;
}
.course-item_text .course-title {
    font-size: 20px;
    font-weight: 700;
    color: #303133;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: 50px;
}
.course-item_text .course-study-info {
    line-height: 32px;
    font-size: 14px;
}
.course-item_text .course-progress-info {
    line-height: 32px;
    font-size: 14px;
}
.course-item_text .info-block {
    padding-right: 30px;
}
.course-item_button {
    display: flex;
}
.course-item_button .el-button {
    margin: auto 20px;
}

/**************** 账号设置页样式 *****************/
.row-cell {
    clear: both;
    border-bottom: 1px solid #f4f4f4;
    padding: 20px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.row-cell_title {
    float: left;
    font-weight: 700;
}
.row-cell_title small {
    color: #909399;
    font-weight: normal;
    display: block;
}
.row-cell_value {
    float: right;
}

.avatar-uploader {
    float: left;
}
.avatar-uploader .el-upload {
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}
.avatar-uploader .el-upload .avatar-mask {
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: none;
}
.avatar-uploader .el-upload .avatar-mask::after {
    display: inline;
    content: '修改';
    line-height: 60px;
    color: #fff;
}
.avatar-uploader .el-upload:hover .avatar-mask {
    /*border-color: #409EFF;*/
    display: block;
}



/**************** 后台样式 *****************/
#app.admin {
    height: 100% !important;
}
.admin .page-header {
    height: 60px;
}
.admin .page-body {
    padding-bottom: 0;
    height: calc(100% - 61px);
    overflow: auto;
}
.admin .page-side {
    width: 160px;
    height: 100%;
    background-color: #273043;
}
.admin .page-main {
    width: calc(100% - 160px);
    height: 100%;
    overflow: auto;
    /*padding: 20px;*/
    box-sizing: border-box;
}
.admin .page-header .page-header_inner {
    width: 100%;
    display: flex;
    justify-content: space-between;
    line-height: 60px;
}
.admin .admin-logo {
    height: 62px;
    /*padding: 10px;*/
    background: #273043;

    width: 162px;
    text-align: center;
    padding-top: 10px;
}
.admin .admin-header {
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
    width: calc(100% - 160px);
}
.admin .admin-header .el-breadcrumb {
    font-size: 16px;
    line-height: 60px;
}
.admin .admin-header .header-link .el-link {
    padding-left: 20px;
}

/*.admin-menu {*/
/*    background-color: #333;*/
/*}*/

.admin-menu  .el-menu-item, .admin-menu .el-submenu__title {
    font-size: 16px;
    color: #fff;
}
.admin-menu .el-menu-item i {
    color: inherit;
}
.admin-menu .el-menu-item a {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 -20px;
    padding: 0 20px;
    color: #fff;
}
.admin-menu .el-menu-item a:hover, .admin-menu .el-menu-item a:visited {
    color: #fff;
}
.admin-menu .el-menu-item.is-active a {
    color: #409EFF !important;
}
.admin-menu .el-submenu .el-menu-item {
    padding: 0 20px !important;
}
.admin-menu .el-submenu .el-menu-item a {
    padding-left: 54px;
}

.admin-panel {
    box-sizing: border-box;
    margin: 20px;
    width: auto;
    background-color: #fff;
}
.admin-panel .panel-header {

}
.admin-panel .panel-header .panel-title {
    padding: 12px 20px 0 20px;
    font-size: 18px;
    line-height: 32px;
    font-weight: bold;
}
.admin-panel .panel-body {
    padding: 20px;
}
.admin-panel .el-tabs__nav-wrap {
    padding: 0 20px;
}
.admin-panel .course-detail_info {
    background-color: transparent;
}
.admin-panel .course-detail-tabs {
    margin-top: 0;
}

.lesson {
    margin-bottom: 16px
}